Process plants, like those used in chemical, petroleum, manufacturing or other processes, typically include one or more process controllers communicatively coupled to one or more field devices via analog, digital or combined analog/digital buses. The field devices, which may be, for example, valves, valve positioners, switches and transmitters (e.g., temperature, pressure and flow rate sensors), are located within the process environment and perform process functions such as opening or closing valves, measuring process parameters, etc. Smart field devices, such as the field devices conforming to a well-known fieldbus protocol (e.g. the Foundation Fieldbus protocol, the HART protocol, etc.) may also perform control calculations, alarming functions, and other control functions commonly implemented within the controller. The process controllers, which are also typically located within the plant environment, receive signals indicative of process measurements made by the field devices and/or other information pertaining to the field devices and execute a controller application that runs, for example, different control modules which make process control decisions, generate control signals based on the received information and coordinate with the control modules or blocks being performed in the field devices, such as HART and Foundation Fieldbus field devices. The control modules in the controller send the control signals over the communication lines to the field devices to thereby control the operation of the process.
Information from the field devices and the controller is usually made available over a data highway to one or more other hardware devices, such as operator workstations, personal computers, data historians, report generators, centralized databases, etc., typically placed in control rooms or other locations away from the harsher plant environment. These hardware devices run applications that may, for example, enable an operator to perform functions with respect to the process, such as changing settings of the process control routine, modifying the operation of the control modules within the controller or the field devices, viewing the current state of the process, simulating the operation of the process for the purpose of training personnel or testing the process control software, keeping and updating a configuration database, etc.
As an example, control systems, such as the DeltaV™ control system sold by Emerson Process Management, may include multiple applications stored within and executed by different hardware devices located at diverse places within a process plant. For instance, a control system may include a configuration application that resides in one or more workstations. The configuration application may enable users to create or change process control modules and download these process control modules via a data highway to dedicated distributed controllers. The configuration application may also allow a designer to create or change user interfaces which are used by a viewing application to display data to a user and to enable a user to change settings, such as set points, within the process control routine.
Similarly, the control system may include a configuration database application that may be executed, for example, by the same workstation(s) which execute the configuration application, or by a different hardware device coupled to the data highway. The configuration database application may store the current process control routine configuration and data associated therewith in a configuration database. Also, the control system may include a data historian application that may be executed by a data historian device. The data historian application controls the data historian device to collect and store some or all of the data provided across the data highway.
Additionally, a control system may include controller applications that may be stored and executed on a dedicated controller and, in some cases, field devices. A controller application may run control modules, which have been assigned and downloaded to the controller or field device, to implement actual process control.
Further, a control system may include viewing applications that may be executed on one or more operator workstations. A viewing application may receive data, for example, from a controller application via a data highway and display this data to process plant designers, operators, or users using user interfaces. The user interfaces may provide any of a number of different views, such as an operator's view, an engineer's view, a technician's view, etc.
As another example, management systems, such as the AMS predictive maintenance software sold by Emerson Process Management, may interact with one or more smart field devices to read the device, block, parameter, variable, or configuration information associated with those devices. Typically, a management system may reside on one or more operator workstations having appropriate communication ports which allow it to interconnect to, communicate with, and reconfigure a smart device. Management systems may be on-line, that is, have a hard-wired or any other permanent connection with a smart device. Management systems may also be portable and be capable of being periodically connected to a smart device to reconfigure or troubleshoot problems with that smart device.
Management systems typically perform a wide variety of functions with respect to smart devices within a system. For example, management systems may be used to provide users with information (e.g., values of variables or parameters) pertaining to the state of a process and to each of the smart field devices associated with or connected to the process. Management systems may also be used to enable a user to monitor a process and control the process by reconfiguring smart devices within the process as necessary.
A management system may include one or more core applications as well as add-on applications provided, for example, by individual smart device manufacturers to implement changes on, and read data from, a particular smart device. A core application may, for example, include a graphical user interface that provides hierarchical views of devices in a plant or process. A core application may also, for example, provide a base functionality for interfacing with certain devices. For instance, a core application may permit a user to configure and/or read data from HART devices at a generic level. An add-on application may, for example, permit a user to configure and/or read data from devices that communicate via protocol other than that (those) supported by a core application. Also, an add-on application may, for example, permit a user to configure and/or read data from devices at level beyond the generic level supported by a core application. Further, management systems may utilize other applications such as word processing programs, spreadsheet programs, internet browsing programs, etc. For example, a management system may utilize an internet browsing program to display on-line maintenance documents made available by a device manufacturer.
Applications in a process plant often launch other applications. For example, a management system may launch a first application provided by a first smart device manufacturer to configure a first smart device. Also, the management system may launch a second application provided by a second smart device manufacturer to configure a second smart device. Similarly, a management system may launch a web browser to display a web page that provides information about a particular device.
Various applications to be launched often do not share a common or consistent application program interface (API). Therefore, an originating application that launches multiple other applications, often includes multiple custom launching mechanisms. Developing such multiple launching mechanisms can be cumbersome and time consuming. Additionally, if it is desired to provide a new application that can be launched from an existing originating application, a new custom launching mechanism is typically developed, and the originating application modified to include the new custom launching mechanism.